/**
 * 类型别名与泛型的结合中，除了映射类型、索引类型等类型工具以外，
 * 还有一个非常重要的工具：条件类型。
 * 
 * 在 条件类型 参与的情况下，通常 泛型 会被作为 条件类型中的判断条件（T extends Condition，或者 Type extends T）
 * 以及返回值（即 : 两端的值），
 * 这也是 筛选类型 需要依赖的能力之一。
*/
type IsEqual<T> = T extends true ? 1 : 2;
type A = IsEqual<true>; // 1
type B = IsEqual<false>; // 2
type C = IsEqual<'hanxuming'>; // 2

//export {}：解决“无法重新声明块范围变量”错误提示问题
export { }